Method for secure user and transaction authentication and risk management

ABSTRACT

To provide a user signature on a network transaction, a security server receives transaction information representing a transaction between a network user and a network site, such as a website. The security server calculates a one-time-password based on the received transaction information and a secret shared by the security server and the network site, but not by the user. The security server transmits the calculated one-time-password for application as the user&#39;s signature on the transaction. The one-time-password is independently calculable by the network site based on the shared secret.

RELATED APPLICATIONS

This application claims priority based on Provisional U.S. Application Ser. No. 61/298,551, filed Jan. 27, 2010. This application is related to pending application Ser. No. 12/938,161, filed Nov. 2, 2010 and entitled “A NEW METHOD FOR SECURE SITE AND USER AUTHENTICATION”, which claims priority based on Provisional U.S. Application Ser. No. 61/257,207, filed Nov. 2, 2009 and entitled “Project Seal”. This application is also related to pending Application Serial No. 13/006,806, filed Jan. 14, 2011 and entitled “A NEW METHOD FOR SECURE USER AND SITE AUTHENTICATION”, which is a continuation of pending application Ser. No. 12/938,161. The contents of the above identified applications are hereby incorporated herein in their entirety by reference.

TECHNICAL FIELD

This invention relates to security and privacy. More particularly it relates to user and transaction authentication and risk management.

BACKGROUND OF THE INVENTION

User authentication using techniques such as passwords, one time passwords, hardware or software smart cards, etc., have all proven to be either too weak and susceptible to man in the middle (MITM) or man in the browser (MITB) attacks, or else have proven too cumbersome and expensive. The use of single sign on techniques such as OpenID, FaceBook Connect, etc., only make the problem worse as once the attacker has compromised the master account they can now break into all other accounts that rely on that initial login. Further, the focus of attackers has shifted from trying to break the login process to using sophisticated techniques to come in after the act of login and to attack the transactions being performed. This has made transaction authentication, the act of confirming if the transaction seen at the back end web server is identical to that intended by the user, even more important.

Out of band authentication (OOBA), a technique by which a transaction is relayed to the user, and confirmation obtained, using an alternate form of communication, for instance by placing a voice phone call or a text message, is a promising alternative, but is also to inconvenient and costly to be used very often. It might be useful for the highest value transactions, or rare events like password resets, but using it for large number of transactions is too costly and cumbersome.

In prior work (see the related applications identified above), we described an innovation that addresses some of these problems. Specifically, we introduced the notion of the establishment of a security server that communicates with an independent pop-up window on the user's desktop that is being used to access the website. We described how this security server can alert the user, via communications to the pop-up as to the legitimacy of the web site the user is browsing via their browser. We also described how this pop-up window can provide a user with a one time password to enable login into the web site (i.e. authentication of the user to the website), based on a secret shared between the web site and the security server. Of particular utility in this invention was that it provided the security of one time passwords, but did not require a per user shared secret which all prior one time password systems have required.

The innovations described herein extend our prior work to provide for (i) transaction authentication, (ii) different hardware and software form factors as substitutes for the browser based pop up, and (iii) using accumulated login and transaction data as an input to a risk management engine.

OBJECTIVES OF THE INVENTION

This invention has the following objectives:

-   -   Develop a new transaction authentication technique that can be         more ubiquitously applied to a larger number of transactions         without compromising usability and cost.     -   Develop new pop up substitutes to communicate information such         as transaction signatures.     -   Develop a technique for better risk management based on user         activity information.

Additional objects, advantages, novel features of the present invention will become apparent to those skilled in the art from this disclosure, including the following detailed description, as well as by practice of the invention. While the invention is described below with reference to preferred embodiment(s), it should be understood that the invention is not limited thereto. Those of ordinary skill in the art having access to the teachings herein will recognize additional implementations, modifications, and embodiments, as well as other fields of use, which are within the scope of the invention as disclosed and claimed herein and with respect to which the invention could be of significant utility.

SUMMARY DISCLOSURE OF THE INVENTION

In accordance with certain aspects of the invention, a secure user signature can be provided on a network transaction, such as the user's purchase of a product from a vendor or movement of account funds from a bank or investment house, via a network, such as the Internet. The signature authenticates the user and confirms the transaction to the network site, which is sometimes referred to as a website, with which the user is transacting. To facilitate the signing of a transaction, a security server receives transaction information representing a transaction between a network user and a network site. The transaction information could, for example, include a product description and price or an account identifier and amount of funds to be moved. The security server calculates a one-time-password (OTP) based on (i) the received transaction information and (ii) a secret shared by the security server and the network site, but not by the user. The security server then transmits the calculated one-time-password for application as the user's signature on the transaction, and hence as an authentication of the user and confirmation of the transaction to the network site. To validate the transmitted one-time-password, the network site independently calculates the one-time-password based on the shared secret and transaction information, and compares this to the one-time-password transmitted by the security server.

From the user's perspective, a user agent, such as a pop-up or other custom application window displayed on the user network device, receives a one-time-password from the security server. The one-time-password corresponds to (i) the applicable transaction information and (ii) a secret shared by the security server and the network site, but not by the user. The one time password is transferred from the user agent to another user agent, e.g. a network page, such as a web page, associated with a network site and being displayed on a user's network device. This other agent transmits the calculated one-time-password, which serves as the user's signature on the transaction, to the network site.

From a network site perspective, a user signature on a network transaction can be validated by the network site receiving from a user network device, both (i) transaction information representing a transaction between a user and the network site, and (ii) a one-time-password as the user's signature on the transaction. The network site calculates a one-time-password based on (i) the received transaction information and (ii) a secret shared by a security server and the network site, but not by the user. The network site can then verify the signature based on a comparison of the received one-time-password and the calculated one-time-password.

According to certain aspects of the invention, the transaction information may be received by the security server from a network page associated with the network site and displayed on a network device associated with the user. As noted above, the transaction information could, for example, include transaction details relating to a product being purchased and its price or relating to bank accounts from and to which funds are being transferred and the amount of the transfer.

In one embodiment the security server transmits the calculated one-time-password to the same user network device as that displaying the network page, for presentation on a window, such as a web pop-up or custom application window, that is also displayed by that user network device, and for entry by the user, for example by cutting and pasting or typing, onto a displayed network page so as to be transmitted to the network site.

According to another embodiment of the invention, the network device which displays the network page is a first user network device, e.g. a computer, such as a desktop computer. In this embodiment, the security server transmits the calculated one-time-password to a second user network device, which different than the first user network device, for presentation on a window displayed by the second user network device and entry by the user onto the network page displayed by the first user network device. Here, because separate devices are being used, the user may, for example, be required to type the one-time-password presented on a window of the second user network device into the network page displayed on the first user network device. Preferably, the first and second user network devices are of different types. For example, if the first user network device is a computer, such as a desktop computer, and the second type network device might be a personal mobile network device, such as a mobile smart phone or smart card.

According to still other aspects of the invention, a log of transactions between the user and the network site are stored, for example, at the security server. If so, the security server may be configured with the logic to compute a risk profile of the user based on the stored transactions log. Additionally, or alternatively, the security server could transmit the stored transactions log to a third party risk analyzer, for risk analysis.

According to still further aspects of the invention, where multiple different user network devices are utilized, the security server may receive a request of a network site to have the user authenticated for reasons unrelated to a particular transaction. In such a case, the security server calculates a one-time-password based on a secret shared by the security server and the network site, but not by the user. The security server transmits the calculated one-time-password to a window displayed on a one network device of the user. The user can now entry the calculated one-time-password from the window displayed on the one network device onto the network page, e.g. a web page, associate with the network site and displayed on another network device, to authenticate himself or herself. Of course, as discussed above, if a transaction is involved, the security server would preferably also receive transaction information as has been discussed above. In such a case, the one-time-password is calculated based also the transaction information.

From a user's perspective, if user authentication is requested by a network site for reasons unrelated to a particular transaction, one agent on one network device of the user receives a one-time-password corresponding to a secret shared by the security server and the network site, but not by the user. This user agent might, for example, be a web pop-up or custom application window displayed on mobile phone or other type device. The user transfers the one-time-password from this user agent to another user agent on another network device of the user. This other agent could, for example, be a network page, such as a web page, associated with a network site and displayed on a desktop computer or other type device. This other user agent transmits the transferred one-time-password to the network site to authenticate the user.

From a network site perspective, to authenticate a user on a network, the network site transmits a request to have a user authenticated. The network site receives a one-time-password from a network device of the user. The network site calculates a one-time-password based on a secret shared by a security server and the network site, but not by the user. By comparing the received one-time-password and the calculated one-time-password, the network site can authenticate the user.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 depicts the main components of the system in accordance with the present invention.

FIG. 2 shows the system augmented with user authentication, in this case achieved using out of band authentication, in accordance with the present invention.

FIG. 3 depicts a log of network activities that can be maintained and used for augmented risk intelligence analysis, in accordance with the present invention.

PREFERRED EMBODIMENT(S) OF THE INVENTION

In prior work we had described how the introduction of a network based security server that has an independent channel to a user pop-up can be used in conjunction with a user's browser and the web site they are visiting to provide both web site and user authentication via a single user network device.

Our first new innovation is to extend this concept to transaction authentication. Specifically, when a web site receives a transaction from a user browser, which it wished to confirm, it sends the transaction information to the security server, which forwards the transaction information to the user pop-up along with a one time transaction signature which is computed based on a secret shared between the security server and the web server and on the transaction information. The user transfers this one time transaction signature to the web server via the browser, and the web server can recalculate the one time transaction signature, and if there is a match, can be assured that the user has confirmed the transaction.

Our second innovation is to extend the concept of a browser based pop up to different form factors. For instance the pop-up can be implemented as a smartphone app, as a dedicated part of a smartphone screen which is used only for this purpose, or it could be implemented as a smartcard.

Our third innovation is to take advantage of the fact that the pop-up (or its substitute) has a log of every user login and transaction. Currently risk engines watch user activity at a given web site to determine suspicious behavior. Or in some cases networks of web sites share such information. In other words data from the back-end systems is analyzed. In our system the pop-up's log of a user's login and transaction history provides a user centric front end way to capture this information and augment the capabilities of the risk engines.

We will first describe our preferred embodiment for transaction authentication. As shown in FIGS. 1 and 2 the system consists of the following components:

-   -   A security server.     -   A pop-up window on the user's desktop.     -   A browser on the user's desktop.     -   The web site at which the user is performing the transaction.

As described in our prior work, the user will first go through a set up and personalization phase which is a one-time process, and will then start up or activate the pop up using a technique such as out of band authentication. At this point the security server will have an active communication channel open to the user which it identifies by some user identifier, for instance the phone number used for out for band authentication. Further, the web site at which the user is transacting and the security server would have previously agreed on a shared secret.

The user using the browser selects a transaction, e.g. “Pay Alice $100”, which is transmitted by the browser to the web server. The web server transmits this transaction to the security server via the user's browser. The security server computes a one time transaction signature as a function of (i) the transaction details and (ii) the secret it shares with that particular web site. The security server then transmits this one time transaction signature to the user's pop-up window. The user cuts and pastes or otherwise copies this one time transaction signature into the web browser and the signature is transmitted back to the web site. The web site independently computes the transaction signature using the (i) the transaction details and (ii) the secret it shares with the security server, and compares it with the one received from the user. If the two signature's match then the web server can be assured that the security server saw the same transaction it sent (i.e. not a transaction manipulated en route to the security server), and since the security server is showing the user the transaction in an independent channel, user confirmation of the transaction is obtained.

In a second preferred embodiment we extend both our prior work regarding authentication, such as that described above in our first preferred embodiment, to the case where the pop-up is implemented in one of a variety of different form factors. One variety contemplates the pop-up window being on an application on a mobile device, another contemplates the window using a dedicated part of the display area of a personal mobile network device, such as a smart phone, and the last contemplates the pop-up window being embodied in dedicated hardware similar to that of a smartcard, which has communication capabilities. In all cases all functionality will work in exactly the same fashion, except that the user can no longer cut and paste the one time passwords used for authentication and would instead have to type them into the web browser operating on a different network device. These form factors provide additional layers of security simply by being independent of the user's desktop computer running the browser.

In either the first or second preferred embodiment as a user performs multiple logins and transactions the pop-up or its substitute has the ability to store a history or log of these events. Such data can then be fed to risk management engines which today only have access to patterns of user activity which they observe from one or more web sites.

In summary, as a first extension to our prior work, one innovation allows us to significantly strengthen the binding between the user, the security server acting as an Identity Provider and the website which is the Relying Party in the case of transactions made over a network, such as the purchase of a product by a user at the website. Here, like in our prior work, we assume that the security server and the web site have a priori agreed on a shared secret (the system is easily extended to use public key cryptography). Additionally, as shown in FIG. 2, we also assume that the user has used some method, for instance out-of-band authentication, to authenticate to the security server. When the user wishes to enter into a transaction at a website, such as the purchase of a product offered at the website or the transfer of funds from a bank account, the web site communicates transaction details (such as the type and amount of the transaction), which are presented both on a web page displayed to the user via the user's browser and on a pop-up window. Before proceeding with the transaction, the website requires authentication and confirmation of the transaction, or what is commonly referred to as a signature of the user on the transaction. Therefore, the web page additionally displays a blank for entry of the user's signature. Furthermore, the website also communicates a request for the user's signature on the identified transaction to the security server. The security server calculates a one-time-password as a function of (i) the secret it shares with the web site and (ii) the applicable transaction details displayed in the pop-up window, and displays the one-time-password to the user in the pop-up window. The user enters (perhaps by cutting and pasting) this one-time-password onto the web page, which serves as the user's signature on the transaction, which is thereby transmitted to the web site. The website confirms the authenticity of the signature by re-computing the one-time-password from the secret it shares with the security server and the transaction details. Here again, this system has all the security properties of one-time-passwords, yet has the tremendous advantage that it does not require a shared secret with each user, and it is only the security server and the web sites that need shared secrets for the purpose of generating one-time-passwords used as signatures on transactions. The actual one-time-password can, if desired, also be constructed based on a time stamp or a counter based OTP algorithm (in the way we use these algorithms the time or counter value needs to be communicated by the security server to the web site; or potentially computed deterministically using some agreed upon formula).

A further extension provides an application which allows the pop-up-window itself to reside on the user's smart phone, smart card or other small personal intelligent mobile network device, rather than on the network device, e.g. a desktop computer, being used to access the applicable website via its browser. For example, this is easily accomplished on a smart phone because the phone is already personalized and, in accordance with the techniques described above, does not need to store a special secret or execute one-time-password software. Rather, only the website and the security server share the necessary secret and only the security server generates the one-time-passwords required for user authentication and user signature.

Finally, a further innovation allows us to provide augmented risk intelligence analysis. In this regard, conventional risk analysis relies on data from websites. However, because of the flow of information, a log of data, such as one of the type shown in FIG. 3, capturing the user's activities while the pop-up window was active can be easily maintained. The log could, for example, be maintained by the security server website, and the user can access this log. If desired the user or the security server can compute the user's risk profile. Additionally, or alternatively, the logged data can be forwarded to a third party risk engine, where it can be married with data received from websites visited by the user so that the risk engine can provide the user with an augmented risk intelligence analysis. 

1. A method of providing a user signature on a network transaction, comprising: receiving, by a security server, transaction information representing a transaction between a network user and a network site; calculating, by the security server, a one-time-password based on (i) the received transaction information and (ii) a secret shared by the security server and the network site, but not by the user, wherein the one-time-password is independently calculable by the network site based on the shared secret and the transaction information; and transmitting, by the security server, the calculated one-time-password for application as the user's signature on the transaction.
 2. The method of claim 1, wherein: the network site is a web site; and the transaction information is received from a web page associated with the network site and displayed on a network device associated with the user.
 3. The method of claim 1, wherein: the calculated one-time-password is transmitted, by the security server to a user network device for presentation on a window displayed by the user network device and entry by the user onto a network page associated with the network site and displayed on the user network device.
 4. The method of claim 1, wherein: the calculated one-time-password is transmitted, by the security server to one user network device, for presentation on a window displayed by that user network device and entry by the user onto a network page associated with the network site and displayed on another user network device.
 5. The method of claim 4, wherein: the one user network device is of a type that is different than the other user network device.
 6. The method of claim 5, wherein: the one user network device is a personal mobile network device, and the other user network device is a computer.
 7. The method of claim 5, wherein: the one user network device is a mobile smart phone; and the other user network device is a desktop computer.
 8. The method of claim 1, further comprising: storing, at the security server, a log of transactions between the user and the network site.
 9. The method of claim 8, further comprising: computing, by the security server, a risk profile of the user based on the stored transactions log.
 10. The method of claim 8, further comprising: transmitting, by the security server to a third party, the stored transactions log for risk analysis.
 11. A method of providing a user signature on a network transaction, comprising: receiving, by one user agent on a user network device from the security server, a one-time-password corresponding to (i) transaction information representing a transaction between a user and a network site and (ii) a secret shared by the security server and the network site, but not by the user, wherein the one-time-password is independently calculable by the network site based on the shared secret and the transaction related information; transferring the one time password from the one user agent to another user agent; and transmitting, by the other user agent to the network site, the calculated one-time-password as the user's signature on the transaction.
 12. The method of claim 11, wherein: the one user agent is a window displayed on the user network device; and the other user agent is a network page associated with the network site and displayed on either the user network device or another different user network device.
 13. A method of validating a user signature on a network transaction, comprising: receiving, by a network site from a user network device, (i) transaction information representing a transaction between a user and the network site, and (ii) a one-time-password as the user's signature on the transaction; calculating, by the network site, a one-time-password based on (i) the received transaction information and (ii) a secret shared by a security server and the network site, but not by the user; and verifying, by the network site, the signature based on a comparison of the received one-time-password and the calculated one-time-password.
 14. A method of authenticating a user on a network, comprising: receiving, by a security server, a request of a network site to have a user authenticated; calculating, by the security server, a one-time-password based on a secret shared by the security server and the network site, but not by the user, wherein the one-time-password is independently calculable by the network site based on the shared secret; and transmitting, by the security server to a window displayed on a network device of the user, the calculated one-time-password for entry by the user onto a network page associated with the network site and displayed on another network device of the user, to authenticate the user.
 15. The method of claim 14, further comprising: also receiving, by the security server, transaction information relating to a transaction between the user and the network site; and wherein the one-time-password is calculated based also on the transaction information.
 16. The method of claim 14, wherein: the user network device is of a type that is different than the other user network device.
 17. The method of claim 16, wherein: the user network device is a mobile smart phone; and the other user network device is a computer.
 18. A method of authenticating a user on a network, comprising: receiving, by a user agent on a network device of a user, a one-time-password corresponding to a secret shared by a security server and a network site, but not by the user; transferring, by the user, the received one-time-password from the user agent on the network device to another user agent on another network device; and transmitting, by the other user agent to the network site, the transferred one-time-password to authenticate the user; wherein the one-time-password is independently calculable by the network site based on the shared secret.
 19. The method of claim 18, wherein: the user agent is a window displayed on the user network device; and the other user agent is a network page associated with the network site and displayed on the other user network device.
 20. A method of authenticating a user on a network, comprising: transmitting, by a network site, a request to have a user authenticated; receiving, by the network site from a network device of the user, a one-time-password; calculating, by the network site, a one-time-password based on a secret shared by the security server and the network site, but not by the user; and comparing, by the network site, the received one-time-password and the calculated one-time-password to authenticate the user. 